﻿<!DOCTYPE html>
<!--
* Copyright (C) 2012 Doubango Telecom <http://www.doubango.org>
* License: GPLv3
* This file is part of Open Source webrtc2sip project <http://code.google.com/p/webrtc2sip/>
-->
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title>webrtc2sip - Smart SIP and Media Gateway to connect WebRTC endpoints</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta name="Keywords" content="doubango, VoIP, HTML5, WebRTC, RTCWeb, SIP, IMS, Video chat, VP8, Chrome, Firefox, Safari, Bowser, Opera, Web Browser " />
    <meta name="Description" content="Smart SIP and Media Gateway to connect WebRTC endpoints" />
    <meta name="author" content="Doubango Telecom" />

    <!-- Le styles -->
    <link href="./assets/css/bootstrap.css" rel="stylesheet" />
    <style type="text/css">
      body {
        padding-top: 80px;
        padding-bottom: 40px;
      }
      tr.spaceUnder > td {
        padding-bottom: 2em;
      }
    </style>
    <link href="./assets/css/bootstrap-responsive.css" rel="stylesheet" />

    <!-- Le fav and touch icons -->
    <link rel="shortcut icon" href="./assets/ico/favicon.ico" />
    <link rel="apple-touch-icon-precomposed" sizes="114x114" href="./assets/ico/apple-touch-icon-114-precomposed.png" />
    <link rel="apple-touch-icon-precomposed" sizes="72x72" href="./assets/ico/apple-touch-icon-72-precomposed.png" />
    <link rel="apple-touch-icon-precomposed" href="./assets/ico/apple-touch-icon-57-precomposed.png" />
    
    <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
  </head>

  <body>

    <div class="navbar navbar-fixed-top">
      <div class="navbar-inner">
        <div class="container">
          <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </a>
          <a class="brand" href="http://doubango.org">Doubango Telecom</a>
          <div class="nav-collapse">
            <ul class="nav">
              <li class="active"><a href="index.html?svn=13">Home</a></li>
              <li><a href="https://github.com/DoubangoTelecom/webrtc2sip/" target="_blank">Source code</a></li>
              <li><a href="technical-guide-1.0.pdf" target=_blank>Technical Guide</a></li>
              <li><a href="contact.htm">Contact</a></li>
            </ul>
          </div><!--/.nav-collapse -->
        </div>
      </div>
    </div>

    <div class="container">

      <!-- Main hero unit for a primary marketing message or call to action -->
      <div class="hero-unit">
        <h2>Smart SIP and Media Gateway to connect WebRTC endpoints</h2>
        <br />
        <p><b>webrtc2sip</b> is a smart and powerful gateway using <a href="http://en.wikipedia.org/wiki/WebRTC">RTCWeb</a> and SIP to turn your browser into a phone with audio, video and SMS capabilities. 
            The gateway allows your web browser to make and receive calls from/to any SIP-legacy network or PSTN. <br />
            As an example, you will be able to make a call from your preferred web browser to a SIP-legacy softphone (e.g. <a href="http://www.counterpath.com/x-lite.html">xlite</a>) or mobile/fixed phone.<br />
            The gateway contains four modules: <a href="#aSipProxy">SIP Proxy</a> | <a href="#aRTCWebBreaker">RTCWeb Breaker</a> | <a href="#aMediaCoder">Media Coder</a> | <a href="#aClickToCall">Click-to-Call</a>. <br />
        </p>
        <p><a class="btn btn-primary btn-large" href="http://sipml5.org/call.htm?svn=170" target="_blank">Enjoy our live demo &raquo;</a></p>
      </div>

      <table>
      <tr class="spaceUnder"><td>
            <table>
              <tr><td><h2><a name="aSipProxy">SIP Proxy</a></h2></td></tr>
              <tr class="spaceUnder"><td><p>
                   The role of the SIP Proxy module is to convert the SIP transport from WebSocket protocol to <b>UDP</b>, <b>TCP</b> or <b>TLS</b> which are supported by all legacy networks. If your provider or hosted server supports SIP over <b>WebSocket</b> (e.g. Asterisk or Kamailio) then, you can bypass the module and connect the client directly to the endpoint. 
                   Bypassing the SIP Proxy is not recommended if you’re planning to use the RTCWeb Breaker or Media Coder modules as this will requires maintaining two different connections.<br />
                   There are no special requirements for the end server to be able to talk to the Proxy module.       
               </p></td></tr>
              <tr><td align="center"><img alt="SIP Proxy architecture" src="https://raw.githubusercontent.com/DoubangoTelecom/webrtc2sip/master/documentation/images/module_sipproxy.png"/></td></tr>
              <tr><td align="center"><i><u>SIP Proxy architecture</u></i></td></tr>
          </table>
      </td></tr>

      <tr class="spaceUnder"><td>
            <table>
              <tr><td><h2><a name="aRTCWebBreaker">RTCWeb Breaker</a></h2></td></tr>
              <tr class="spaceUnder"><td><p>
                   The RTCWeb specifications make support for <b>ICE</b> and <b>DTLS/SRTP</b> mandatory. The problem is that many SIP-legacy endpoints (e.g. PSTN network) do not support these features. 
                    It’s up to the RTCWeb Breaker to negotiate and convert the media stream to allow these two worlds to interop. <br />
                    For example, if your server doesn't support ICE this means it requires the RTCWeb Breaker in order to be able to connect the browser to a SIP-legacy endpoint. <br /> 
                    We highly recommend checking the <a href="technical-guide-1.0.pdf" target=_blank>Technical Guide</a> to understand how to avoid <b>security issues</b> when using this module.    
               </p></td></tr>
              <tr><td align="center"><img alt="SIP Proxy architecture" src="https://raw.githubusercontent.com/DoubangoTelecom/webrtc2sip/master/documentation/images/module_rtcwebbreaker.png"/></td></tr>
              <tr><td align="center"><i><u>RTCWeb Breaker architecture</u></i></td></tr>
          </table>
      </td></tr>
      
      <tr class="spaceUnder"><td>
            <table>
              <tr><td><h2><a name="aMediaCoder">Media Coder</a></h2></td></tr>
              <tr class="spaceUnder"><td><p>
                   The RTCWeb standard defined two MTI (<b>M</b>andatory <b>T</b>o <b>I</b>mplement) audio codecs: <b>opus</b> and <b>g.711</b>.<br />
                    For now there are intense discussions about the MTI video codecs. The choice is between <b>VP8</b> and <b>H.264</b>. VP8 is royalty-free but not widely deployed while H.264 AVC is not free but widely deployed. 
                    Google has decided to use VP8 in Chrome while Ericsson uses <b>H.264 AVC</b> in <a href="https://labs.ericsson.com/apps/bowser">Bowser</a>. Mozilla and Opera Software will probably use VP8 and Microsoft H.264 AVC. As an example, the Media Coder will allow to make video calls between Chrome and Bowser. 
                    Another example is calling a Telepresence system (e.g. Cisco) which most likely uses <b>H.264 SVC</b> from Chrome.
               </p></td></tr>
              <tr><td align="center"><img alt="SIP Proxy architecture" src="https://raw.githubusercontent.com/DoubangoTelecom/webrtc2sip/master/documentation/images/module_mediacoder.png"/></td></tr>
              <tr><td align="center"><i><u>Media Coder architecture</u></i></td></tr>
          </table>
      </td></tr>

      <tr class="spaceUnder"><td>
            <table>
              <tr><td><h2><a name="aClickToCall">Click-to-Call</a></h2></td></tr>
              <tr class="spaceUnder"><td><p>
                   This is more a service than a module as it’s a complete SIP <a target=_blank href="http://en.wikipedia.org/wiki/Click-to-call">click-to-call</a> solution based on the three other components. The goal is to allow any person receiving your mails, visiting your website, reading your twitts, watching your Facebook/Google+ profile to call you on your mobile phone with a single click.
                   <br /> <br />
                   <a class="btn btn-secondary btn-medium" href="http://click2dial.org/" target="_blank">Enjoy our live click-to-call demo &raquo;</a>
               </p></td></tr>
              <tr><td align="center"><img alt="Click-to-Call Components" src="https://raw.githubusercontent.com/DoubangoTelecom/webrtc2sip/master/documentation/images/module_click-to-call.png"/></td></tr>
              <tr><td align="center"><i><u>Click-to-Call Components</u></i></td></tr>
          </table>
      </td></tr>

      </table>


       <br />
         
    <hr />
    <g:plus href="https://plus.google.com/107177632824809995368" rel="author"></g:plus> <br />
    <a href="https://twitter.com/DoubangoTelecom" class="twitter-follow-button" data-show-count="false" data-size="large">Follow @DoubangoTelecom</a>  
    <hr />  
    <footer>
        <p>
            &copy; Doubango Telecom 2012-2016</p>
        <i>Inspiring the future</i>
        <br />
        <br />
        <!--a href="http://www.iconshock.com">icon sets by iconshock</a-->
    </footer>
    </div> <!-- /container -->

    <!-- Le javascript
    ================================================== -->
    <!-- Placed at the end of the document so the pages load faster -->
    <script type="text/javascript" src="./assets/js/jquery.js"></script>
    <script type="text/javascript" src="./assets/js/bootstrap-transition.js"></script>
    <script type="text/javascript" src="./assets/js/bootstrap-alert.js"></script>
    <script type="text/javascript" src="./assets/js/bootstrap-modal.js"></script>
    <script type="text/javascript" src="./assets/js/bootstrap-dropdown.js"></script>
    <script type="text/javascript" src="./assets/js/bootstrap-scrollspy.js"></script>
    <script type="text/javascript" src="./assets/js/bootstrap-tab.js"></script>
    <script type="text/javascript" src="./assets/js/bootstrap-tooltip.js"></script>
    <script type="text/javascript" src="./assets/js/bootstrap-popover.js"></script>
    <script type="text/javascript" src="./assets/js/bootstrap-button.js"></script>
    <script type="text/javascript" src="./assets/js/bootstrap-collapse.js"></script>
    <script type="text/javascript" src="./assets/js/bootstrap-carousel.js"></script>
    <script type="text/javascript" src="./assets/js/bootstrap-typeahead.js"></script>

    <!-- GOOGLE ANALYTICS -->
    <script type="text/javascript">
        var _gaq = _gaq || [];
        _gaq.push(['_setAccount', 'UA-6868621-24']);
        _gaq.push(['_trackPageview']);

        (function () {
            var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
            ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
            var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
        })();

    </script>

    <!-- click-to-call widget -->
    <script type='text/javascript' src='https://cdn.rawgit.com/DoubangoTelecom/click-2-dial/master/release/c2c-api.js'></script>
    <script type='text/javascript'>
	    c2c.from = 'ZGlvcG1hbWFkb3VAZG91YmFuZ28ub3Jn';
	    c2c.text = 'call us &raquo;';
	    c2c.cls = 'btn btn-large btn-success';
        c2c.glass = true;
	    c2c.config = {
    		    http_service_url: null,
    		    websocket_proxy_url: null,
    		    sip_outbound_proxy_url: null
	    };
	    c2c.init();
    </script>
    
     <!-- TWITTER -->
    <script type='text/javascript'>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>

     <!-- GITHUB --> 
     <a href="https://github.com/DoubangoTelecom/webrtc2sip/"><img style="position: absolute; top: 30px; left: 0; border: 0;" src="https://camo.githubusercontent.com/567c3a48d796e2fc06ea80409cc9dd82bf714434/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f6461726b626c75655f3132313632312e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_darkblue_121621.png"></a>
  </body>
</html>
